System and method for automatically tracking and enabling the operation of a product

ABSTRACT

System and method for automatically tracking and enabling the operation of a product. An order is received and information regarding the order, customer, and product is stored. A key is given to the customer to be used in registration. During registration, the key is provided and a candidate fingerprint obtained. If the candidate fingerprint matches the fingerprint of the ordered product, data is automatically sent to the product that enables the product to operate. In addition over time, status regarding the product is received and updates are sent to the product as needed or requested.

RELATED APPLICATION

This application is a Utility Patent application based on a previouslyfiled U.S. Provisional Patent application, U.S. Serial No. 60/312,129filed on Aug. 14, 2001, the benefit of the filing date of which ishereby claimed under 35 U.S.C. §119(e).

FIELD OF THE INVENTION

This invention relates generally to automated systems and methods fordistributing product and, more specifically, to a system and method fortracking, enabling, and updating a product.

BACKGROUND

A product goes through many phases in its lifetime. After a designphase, a product is typically manufactured and prepared fordistribution. The product may be shipped directly to a customer or itmay be shipped to a reseller for sale to other resellers or customers.In the past, once a product left a manufacturing site, the productproducer (hereinafter “vendor”) had little if any information as towhere the product was, to whom the product was sold, what the productwas being used for, or the condition of the product. Vendors tried todetermine some information about to whom the product was finally sold(hereinafter the “customer”) by providing a warranty or registrationcard and requesting that the customer fill out the card and return it tothe vendor. Many customers would simply fail to return the card or notprovide the information requested (or would provide inaccurateinformation by mistake or otherwise). This left a gap in a vendor'sknowledge regarding where the product ended up. In addition, if thecustomer failed to fill in the serial number of the product (or filledin an incorrect serial number), the vendor did not know which specificproduct the customer received.

Vendors provided incentives for returning completed cards such as adrawing for a free product or otherwise. This motivated some customersto return cards but still did not guarantee the correct entry of dataregarding the product received. In addition, the card was typically thelast communication received from the customer (unless something wentwrong with the product). In general, the vendor did not know how theproduct was performing, whether it had errors, or otherwise.

With the Internet age and electronic and software products, some vendorsprovided electronic means for returning registration information.Although somewhat better than the paper cards returned, these meanssuffered many of the same problems—failure to register, incorrectinformation supplied, and lack of status updates regarding the product.In addition, electronic registration was susceptible to interception andinformation gathering by hackers and competitors of the vendor.

Furthermore, vendors who received registrations—electronic orotherwise—had no way of monitoring that a product was used as licensed.For example, a customer could buy a hardware/software combination inwhich the software was licensed to run on the shipped hardware only. Thehardware could be a computing device of limited computing power andresources. The customer could install the software on a more powerfulplatform and register the software using the better platform. A vendorcould not tell that the software was running on an unlicensed platformand had difficulty enforcing the license agreement in an automated way.

SUMMARY

A system and method addressing needs including those described above areprovided. An order is received and information regarding the order,customer, and product is stored. A key is given to the customer to beused in registration. During registration, the key is provided and acandidate fingerprint obtained. If the candidate fingerprint matches thefingerprint of the ordered product, data is automatically sent to theproduct that enables the product to operate. In addition over time,status regarding the product is received and updates are sent to theproduct as needed or requested.

In one aspect of the invention, the fingerprint of the product iselectronically readable by the product. In another aspect of theinvention, the candidate fingerprint is obtained from the customer. Thefingerprint may include a media access control (MAC) address of theproduct and a serial number. The candidate fingerprint may be obtainedover a network by contacting the product and requesting the fingerprintdirectly from the product. In responding, the product may automaticallyread the candidate fingerprint (a fingerprint electronically readable bythe product).

In another aspect of the invention, after sending the key to aregistration Web site, a username and password is obtained to employwhile registering the product. The key enables an association betweenthe customer and sales information in a database accessible to thevendor.

In another aspect of the invention, errors that have occurred within theproduct are received and stored in a database accessible to the vendor.Then, the errors are correlated with a manufacturer that produced theproduct.

Aspects of the invention may employ version 1.0 or greater of theHypertext Transport Protocol Secure (HTTPS) protocol to communicatebetween the product and a resource associated with the vendor.

In another aspect of the invention, a frequency that the product queriesfor updates is employed to determine whether the product has beenduplicated.

In another aspect of the invention, previous to the expiration of thelicense, the customer is automatically informed of the pendingexpiration. A request to renew the license may then be received and dataautomatically provided to the product that enables the product tooperate until the renewed license expires.

In another aspect of the invention, an order system receives orders froma customer, a registration system receives a request to register theproduct and determines whether an obtained candidate fingerprint matchesthe fingerprint that identifies the product, and a maintenance systemautomatically sends data to the product that enables the product tooperate until a license associated with the product expires. Informationmay be stored in a customer relations management (CRM) database.

These and various other features as well as advantages, whichcharacterize the present invention, will be apparent from a reading ofthe following detailed description and a review of the associateddrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an environment including an exemplary product thatmight be sold and tracked;

FIGS. 2-3 show entities involved in a sales process;

FIGS. 4-5 show components involved in registering a product, licensingthe product, and associating the registered product with a manufacturedproduct;

FIG. 6 shows an interaction between a database associated with themanagement of an appliance and a customer relations database;

FIGS. 7-8 show components involved in a renewal sales process; and

FIG. 9 illustrates a flow chart showing a method for automaticallytracking and enabling the operation of the product in accordance withthe invention.

DETAILED DESCRIPTION

In the following detailed description of exemplary embodiments of theinvention, reference is made to the accompanied drawings, which form apart hereof, and which are shown by way of illustration, specificexemplary embodiments of which the invention may be practiced. Theseembodiments are described in sufficient detail to enable those skilledin the art to practice the invention, and it is to be understood thatother embodiments may be utilized, and other changes may be made,without departing from the spirit or scope of the present invention. Thefollowing detailed description is, therefore, not to be taken in alimiting sense, and the scope of the present invention is defined by theappended claims.

In the following description, first an environment including anexemplary product that might be sold and tracking is described. Then,entities involved in a sales process and their interactions arediscussed. Next, components involved in registering a product, licensingthe product, and associating the registered product with a manufacturedproduct are described. Then, an interaction between a databaseassociated with the management of an appliance and a customer relationsdatabase is discussed. Next, components involved in a renewal salesprocess are described. Finally, a method for automatically tracking andenabling the operation of the product is disclosed.

FIG. 1 illustrates an environment including an exemplary product thatmight be sold and tracked, according to one embodiment of the invention.The environment includes network 105, domain name system (DNS) server110, firewall 115, DarkStar appliance 120, and mail server 125. Network105 is coupled to firewall 115 and DNS server 110 over a network.Likewise, DNS server 110 and firewall 115 are coupled to DarkStarappliance 120 over a network. DarkStar appliance 120 is also coupled tomail server 125 over a network.

Most frequently, the term “product” refers to a device capable ofexecuting instructions, such as a computer, an appliance, a mechanicaldevice, a collection of such devices, or the like. Sometimes, productmay refer to a device and/or the instructions that execute on thedevice. The instructions that execute on a product may also be calledsoftware product or simply software. Thus, product may refer to adevice, a device and its associated software, or just the software thatexecutes on the device.

Network 105 may be any type of network by which information can passfrom one node to another. An exemplary network is the Internet. Mailmessages (in the form of SMTP traffic or otherwise) may be passed fromnodes coupled to network 105 (not shown) to firewall 115. Firewall 115may make an initial determination as to whether to pass the message toDarkStar appliance 120 or to prevent the message from passing throughfirewall 115. Firewall 115 operates as firewalls known by those skilledin the art.

DarkStar appliance 120 may be, for example, a virus scanning networkappliance. DarkStar appliance 120 may receive a message that passesthrough firewall 115. DarkStar appliance 120 may then scan the messagefor any computer viruses (also known as exploits). It may also performother checks to determine whether to pass the message to a mail server.DarkStar appliance 120 may employ DNS server 110 to obtain furtherinformation regarding the message, such as whether the message was sentfrom a node in the domain the message indicates it was sent from.

To aid in scanning for viruses, DarkStar appliance 120 may receivefrequent virus scan updates from a device coupled to network 105.DarkStar appliance 120 may include multiple Ethernet ports each porthaving a media access control (MAC) address. These ports may be used,for example, to receive and transmit messages. DarkStar appliance 120may be implemented using special purpose components and/or aconventional computer system having one or more processors. DarkStarappliance 120 may also include software. DarkStar appliance 120 is oneexample of a product.

Mail server 125 is any device capable of delivering mail to other nodes.Such a device may use, for example, SendMail or a proprietary maildelivery solution.

FIGS. 2-3 show entities involved in a sales process, according to oneembodiment of the invention. Referring to FIG. 2, customer 205 places anorder through sales channel 210. During the sales, information aboutcustomer 205 is collected. This information might include, for example,company information, contact information, etc. Information regardingwhat products customer 205 ordered may also be collected and associatedwith the sale. Customer 205 may be given a one time key with which tolog onto a Web site and register each product. When an agent of customer205 logs onto the Web site, the agent may be prompted to enter the key.Upon entering the key, the agent may then be prompted to create a username and password.

In addition, sales channel 210 may forward to vendor 215 informationcollected during the sales together with the key given to the agent toregister the product. Vendor 215 may host the registration Web page.When customer 205 registers the product and enters the key, vendor 215may form an association between customer 205 and the user name using thekey and the customer data previously forwarded from sales channel 210.This association may be stored in a database for future use.

Referring to FIG. 3, a vendor may have contracted with hardwaremanufacturer 310, such as Jabil Circuit, to produce products for thevendor. The vendor may instruct the hardware manufacturer to collect afingerprint or unique key from each product manufactured. Thefingerprint might include, for example, a serial number of the producttogether with the MAC address of the first Ethernet port of the product.It might also or alternatively include a central processing unit (CPU)identifier (ID) and serial number such as those placed on some Pentium®CPUs. Preferably the identifier chosen can be read by the productitself. That is, an ideal identifier is one that the product may readwithout user interaction. The identifier stored in a CPU, as a MACaddress, or in a non-volatile memory associated with the product aresome examples of identifiers that can be read by the product itself.

The vendor may instruct the hardware manufacturer to forwardfingerprints from products produced to the vendor. The vendor may thenstore these fingerprints in a customer relations management (CRM)database accessible to the vendor, such as customer relations managementdatabase 315. A CRM database that might be used, for example, is oneknown as Vantive.

In addition, the vendor may instruct the hardware manufacturer to sendan ordered product to a customer, such as customer 205, who placed anorder through a sales channel. It will be recognized that the abovemodel is not the only way in which product may be distributed to acustomer. For example, the product may be housed in a warehouse or at aretailer or reseller. In response to a customer order, the retailer orreseller may ship the product to the customer. Other distributionchannels and models may also be employed to distribute product to acustomer without departing from the spirit or scope of the invention.

FIGS. 4-5 show components involved in registering a product, licensingthe product, and associating the registered product with a manufacturedproduct, according to embodiment(s) of the invention. Referring to FIG.4, two databases are shown—CRM database 305 and appliance managementdatabase 405. As described in conjunction with FIG. 3, CRM database 305receives fingerprints. Each fingerprint is associated with a particularmanufactured product, such as a network appliance. After CRM database305 obtains one or more fingerprints associated with manufacturedproducts, CRM database 305 forwards the fingerprints to appliancemanagement database 405. As will be described below, this allowsappliance management database 405 to associate a registered product witha fingerprint during registration.

Appliance management database 405 may be used to register manufacturedproducts, such as appliances, to provide registered products with keysthat allow the registered products to operate, and to provide theregistered products with updates. For example, a network appliance setup as an anti-virus product may need frequent virus scanner updates.Appliance management database 405 may be used to provide these updatesand record when such updates were provided or applied.

Referring to FIG. 5, after a customer, such as customer 205, hasreceived an ordered product, the customer interacts with Web site 505 toregister customer's appliance(s) 510 with appliance management database405. As described in conjunction with FIG. 2, at the time of sale, acustomer may receive a key. The customer may use this key when accessingWeb site 505. Upon accessing Web site 505, the customer may be asked toprovide a username and password. Because the sales channel forwarded thekey together with customer and sales information to the vendor, thevendor now has a link between a customer, sales information, and a username. The customer may enter information that allows appliancemanagement database 405 to locate customer's appliance(s) 510. Thisinformation may include, for example, an Internet Protocol (IP) addressor other address information. Appliance management database 405 may usethe address to locate and connect with customer's appliance(s) 510.After connection, appliance management database 405 may query customer'sappliance(s) 510 for fingerprint(s).

When registering, customer 205 may indicate that software ordered withor separately from a product has been installed on a particular productby indicating the product's IP address, serial number, and/or some otheridentifier. One of four cases may occur when trying to match thefingerprint to a product sold to customer 205.

First the fingerprint may not match the product on which the softwareshould have been installed but may match another of the products sold tocustomer 205. For example, a customer may order five products of productX and five products of product Y. With each of the products may comesoftware that needs to be installed on the associated product. Acustomer may have software that is supposed to be installed on product Xthat the customer instead installs on product Y. Product Y may not havethe same computing power as product X. Appliance management database 405may record that the customer installed the software on a product thatcustomer bought (and for which appliance management database 405 has afingerprint associated with the customer). Appliance management database405 may also flag that the customer installed the software on the wrongproduct.

Second the fingerprint may not match the product on which the softwareshould have been installed but may match another identical product soldto customer 205. For example, the fingerprint may match X₁'s fingerprint(one of the five X products), but the software was installed on X₂(another of the five X products). This is generally not a problem sinceboth Xs are identical. In this case, appliance management database 405may associate the software with X₂ since the customer purchased X₂ andthere should be no problem running the software on X₂.

Third the fingerprint may not be found in the database. Customer 205 maytry to install software on a device of greater capacity than the productsold to customer 205. A license may indicate that customer 205 is onlylicensed to install the software on the product sold to customer 205from the vendor. In this case, appliance management database 405 mayrefuse to give the key that allows the software to run on the otherproduct.

Fourth, the software may be installed on the correct product. That is,the product has a fingerprint that matches the fingerprint of theproduct on which the software is supposed to be installed. In otherwords, using the example above, the software may have been installed onproduct X₁ and product X₁ also happens to be the appliance that has afingerprint that matches the fingerprint associated with the purchase.In this case, appliance management database 405 may provide a key thatallows the software to run on the appliance.

If the customer installs the software on a product on which the customeris authorized to install the software, appliance management database 405may enable the product to operate by providing it a key that allows itto operate. In addition, appliance management database 405 may providethe product with any updates available. After receiving updates, theproduct may reboot and begin operation.

A key may enable a product to operate in the following manner. Acomponent on a product may determine which actions and/or software theproduct may execute. The component may query a database or datastructure accessible to the product to see which keys have beeninstalled on the product and which have not. Each key may correspond toa program or options that the product is allowed to execute. A key maybe revalidated each time a request to run a program associated with thekey is received. That is, the key may be checked to determine whetherthe key includes a correct digital signature or some other indicatorthat indicates that the key is authentic. In addition, a key may includean expiration date after which the key is no longer valid. If the key isvalid and has not expired, this may be used to indicate that certainsoftware or actions may be executed on the product.

FIG. 6 shows an interaction between a database associated with themanagement of a product and a customer relations database, according toone embodiment of the invention. Appliance management database 405 maypropagate information regarding the registration and updates to CRMdatabase 315. This may occur shortly after registration and at otherselected or periodic times. This may allow customer support, forexample, to know that the customer has installed the product and whenthe customer receives updates.

In addition, a product the customer has installed may periodicallycontact appliance management database 405 to check on the availabilityof updates. Appliance management database 405 may send a log of theserequests to CRM database 315. This may be used for many purposes. It maybe used by a sales force to determine which products are being used bywhich customers. It could be used to determine which products havestopped connecting to appliance management database 405. It might beused to determine if someone has duplicated a product. For example,someone might create another product that has the same fingerprint as asold product. Each product may be configured to contact appliancemanagement database 405 once every 15 minutes. (This may be the maximumfrequency at which a product may contact appliance management database405.) If appliance management database 405 is consistently contacted bya particular product more frequently than every 15 minutes, this maysignal that the product has been duplicated.

Duplicating a product may refer to duplicating some or all of thehardware of a product, some or all of the software of a product, or someor all of both the hardware and software of a product. For example, allor just the fingerprint portions of a product may be duplicated so thatwhen a product requests an update or registration (and an appliancemanagement database requests a fingerprint), a recognized fingerprint issent to the appliance management database. Such duplication may bedetected by employing the technique outlined above.

Data collected might also be used to determine failure rates andcorrelate these failure rates to manufacturers. For example, eachproduct may do internal checks to determine whether its systems areoperating appropriately. When connecting with appliance managementdatabase 405, a product may report information regarding its internalerror checking. This information could then be used to determine failurerates.

A product may communicate with appliance management database 405 usingHypertext Transfer Protocol Secure (HTTPS). HTTPS may be used to providea secure channel for communicating status and update information. It mayalso provide a convenient mechanism for communicating with the productwhen the product is located behind a firewall.

When an update is available, several actions may be taken. These actionsmay be configurable by a customer and/or vendor. One action may be thatan alert is not given. Some customers may prefer to not be bugged eachtime a new update is available. Rather, they may prefer to proactivelylook for a new update rather than being constantly informed when a newupdate is available.

Another action is that a customer may be given an alert when a newupdate is available. Then, to retrieve the update, the customer mayexplicitly request that the update be downloaded and applied.

Another action is that a product may check for updates and automaticallydownload them but not apply them without explicit customer approval.Some companies, such as financial and government institutions, requiretesting of each new upgrade before applying the upgrade on productionservers.

Another action is that a product may check for updates, automaticallydownload them, and automatically apply them. This may be ideal, forexample, with products that provide anti-virus protection. New virusesmay be created and released at any time. A customer may desire that thecustomer's product automatically retrieve and apply any new anti-virusprotection updates as soon as possible.

Applying an update may refer to one or more actions associated withinstalling the update. For example, first the update may be validated toensure that it comes from a recognized and authorized provider. This maybe done, for example, by using a digital signature included with or sentwith the update to ensure that the update was sent from a particularentity and that the update has not been tampered with or corrupted inany way. An update may be sent in a compressed format. Applying theupdate may involve uncompressing the update. Applying the update mayalso involve installing the update.

Applying an update may also involve testing to make sure thatfunctionality of a product has not been damaged. For example, if aproduct significant slows down after installing an update, this mayindicate that functionality of the product has been damaged. As anotherexample, if a product fails to respond in a predetermined way to certainrequests after an update has been installed, this may also indicate thatfunctionality of the product has been damaged.

It will be recognized that other actions could also be taken withoutdeparting from the spirit or scope of the invention.

FIGS. 7-8 show components involved in a renewal sales process, accordingto one embodiment of the invention. Referring to FIG. 7, appliancemanagement database 405 may be used to inform customer 205 of a pendingexpiration of a software license. For example, 60 days before theexpiration of a software license, appliance management database 405could contact customer 205 to inform the customer of the pendingexpiration. Contact could be made when a product that had a license soonto expire contacted appliance management database 405. Informationregarding the pending license expiration could be transferred to theproduct and placed in a notices or alert area for the customer to view.Alternatively, or in addition, an email or mail could be sent to thecustomer to inform the customer of the pending expiration.Alternatively, a sales representative could contact the customer toinquire regarding the pending expiration and to solicit the purchase ofa renewal.

In addition, the product itself typically knows how long it has leftbefore its license expires. As the period of expiration approaches, theproduct may inform an operator who logs onto the product how much longeris left on the license. The product may also give a link to a Web siteat which the customer could renew the license.

Referring to FIG. 8, customer 205 may interact with Web site 505 torenew a license on customer's appliance(s) 510. Customer 205 may use thesame username and password that was used when customer 205 registeredcustomer's appliance(s) 510. After customer 250 has renewed one or morelicenses, Web site 505 transfers renewal information to a vendor'sinternal database, such as CRM database 315.

CRM database 315 may propagate renewal information to appliancemanagement database 405 which then may renew the license with customer'sappliance(s) 510. CRM database 315 may also receive renewal informationfrom other sources. For example, customer 205 may call the reseller orretailer at which customer 205 ordered customer's appliance(s) 510. Thereseller or retailer may assist customer 205 in obtaining a renewal andmay gather sufficient information to transmit to CRM database 315 toindicate for which appliances customer 205 is requesting renewallicenses. Upon receipt of the information, CRM database 315 maypropagate renewal information to appliance management database 405 whichmay then renew the license with customer's appliance(s) 510.

FIG. 9 illustrates a flow chart showing a method for automaticallytracking and enabling the operation of the product, according to anembodiment of the invention. The process begins at block 905 before aproduct is manufactured that needs to be tracked and enabled. Afterblock 905, processing continues at block 910.

At block 910, the product is manufactured and a fingerprint thatidentifies the product is obtained. The fingerprint may include dataelectronically readable by the product as described in conjunction withFIG. 3. The fingerprint may be obtained by the manufacturer andforwarded to the vendor for association with other data. After block910, processing continues at block 915.

At block 915, an order is received, a key is provided to the customer,and sales information regarding the order is collected. As describedpreviously, the order may be made through a Web site or through areseller or retailer of the product. At the time of the order orsometime thereafter a key is provided to the customer. In addition, asdescribed previously, information regarding the customer, the product,and the order may be obtained and stored for future use. After block915, processing continues at block 920.

At block 920, the fingerprint and sales information is stored in adatabase. For example, referring to FIG. 3, this data could be stored inCRM database 315. After block 920, processing continues at block 925.

At block 925, a request to register the product is received. The requestto register is accompanied by the key previously given to the customerduring the order process. When the key is provided, the customer isprompted to enter a username and password. The username and password canthen be used for future interactions with the system. In addition, thekey allows the request to be associated with the customer, product, andorder information previously obtained. After block 925, processingcontinues at block 930.

At block 930, a candidate fingerprint is obtained and compared with theproduct fingerprint. “Candidate” fingerprint refers to a fingerprintsupplied by the customer or by the product the customer is registering.Until this fingerprint is compared with the product purchased by thecustomer, it is uncertain whether the customer is authorized to registerthe product associated with the candidate fingerprint. After block 930,processing continues at block 935.

At block 935, the candidate fingerprint is compared with the fingerprintof the product ordered by the customer. If the two fingerprints match,processing continues at block 940; otherwise, processing continue atblock 945.

At block 940, information associating the customer with the product isstored and the product is sent data, such as a key, that enables theproduct to operate until a license associated with the product expires.For example, referring to FIG. 5, appliance management database 405sends customer's appliance(s) 510 one or more keys that enablecustomer's appliance(s) 510 to operate. After block 940, processingcontinues at block 945.

At block 945, processing ends. At this point, a product has beenmanufactured and a fingerprint of the product obtained. An order hasbeen received, a key provided, and sales information collected. Thefingerprint and sales information has been stored in a database. Arequest to register the product has been received together with the keyobtained at the order. A candidate fingerprint has been obtained andcompared with the fingerprint of the product. If they match, informationassociating the customer with the product has been stored and theproduct has been sent data, such as a key that enables the product tooperate until a license associated with the product expires.

This process may be repeated for each product for which automatictracing and enablement of product operation are desired.

The various embodiments of the invention may be implemented as asequence of computer implemented steps or program modules running on acomputing system and/or as interconnected machine logic circuits orcircuit modules within the computing system. The implementation is amatter of choice dependent on the performance requirements of thecomputing system implementing the invention. In light of thisdisclosure, it will be recognized by one skilled in the art that thefunctions and operation of the various embodiments disclosed may beimplemented in software, in firmware, in special purpose digital logic,or any combination thereof without deviating from the spirit or scope ofthe present invention.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theinvention. Since many embodiments of the invention can be made withoutdeparting from the spirit and scope of the invention, the inventionresides in the claims hereinafter appended.

1. method for automatically tracking and enabling operation of aproduct, comprising: receiving, by a management computer, a fingerprintthat identifies the product; receiving, by the management computer froma first computer, an order for the product; receiving, by the managementcomputer, sales information for the product; sending a key from themanagement computer to the first computer; storing, by the managementcomputer, the fingerprint and the sales information; receiving, by themanagement computer from the first computer, a request to register theproduct, the request including the key; sending, from the managementcomputer to the product via a second computer, a request for a candidatefingerprint of the product; receiving the candidate fingerprint by themanagement computer from the product via the second computer; anddetermining, by the management computer, that the candidate fingerprintmatches the fingerprint that identifies the product; and sending datafrom the management computer to the product via the second computer thatenables the product to operate.
 2. The method of claim 1, wherein thefingerprint that identifies the product is electronically readable bythe product.
 3. The method of claim 1, wherein the fingerprint thatidentifies the product includes one or more of a media access control(MAC) address of the product or a serial number of the product.
 4. Themethod of claim 1, further comprising: receiving a request from theproduct requesting whether any updates are available; and in response tothe request, performing at least one of alerting the customer of anupdate, downloading the update, and applying the update.
 5. The methodof claim 1, further comprising: receiving the fingerprint thatidentifies the product from the product and information that indicateserrors that have occurred within the product; storing the receivedinformation in the database accessible to the vendor; and automaticallycorrelating the errors with a manufacturer of the product.
 6. The methodof claim 1, wherein version 1.0 or greater of Hypertext TransferProtocol Secure (HTTPS) is employed for each communication between theproduct and the management computer, the management computer beingassociated with a vendor of the product.
 7. The method of claim 1wherein the first and second computers comprise the same computer. 8.The method of claim 1 wherein the first computer comprises a customercomputer, and the second computer comprises a customer appliance orother computer that includes the product.
 9. The method of claim 1wherein the sending, from the management computer to the product via asecond computer, a request for a candidate fingerprint of the productcomprises the management computer contacting the product over a networkand requesting the candidate fingerprint directly from the product. 10.The method of claim 1 wherein the product comprises a manufactured orhardware product.
 11. The method of claim 1 wherein the productcomprises a software product.
 12. An apparatus for tracking and enablingoperation of a product comprising: a first management computer includinga first processor and a memory storing instructions that when executedby the first processor cause the first processor to perform the stepsof: receiving a fingerprint that identifies the product, receiving anorder for the product from a first customer computer, receiving salesinformation for the product, sending a key to the first customercomputer, and storing the fingerprint, the key and the salesinformation; a second management computer including a second processorand a memory storing instructions that when executed by the secondprocessor cause the second processor to perform the steps of: receivingthe fingerprint, the key and sales information from the first managementcomputer, receiving a request from a second customer computer toregister the product, the request including the key, sending to theproduct via a second customer computer, a request for a candidatefingerprint of the product, receiving the candidate fingerprint from thesecond customer computer, determining that the candidate fingerprintmatches the fingerprint that identifies the product, and sending data tothe product via the second computer that enables the product to operate.13. The apparatus of claim 12 wherein the product includes a hardware ormanufactured product.
 14. The apparatus of claim 12 wherein the productis a software product.
 15. The apparatus of claim 12 wherein the firstmanagement computer includes at least a customer relations managementdatabase.
 16. The apparatus of claim 12 wherein the first and secondmanagement computers comprise a computer that includes at least aproduct (or appliance) management database.
 17. The apparatus of claim12 wherein the first management computer includes an order system, andthe second management includes a product (or appliance) managementdatabase.
 18. The apparatus of claim 12 wherein the memory of the firstcomputer further storing instructions that when executed by the firstprocessor cause the first processor to perform the steps of: receiving acustomer's order for the product, placing an order for the product witha manufacturer, and receiving a fingerprint that identifies the productfrom the manufacturer.
 19. The apparatus of claim 12 wherein the firstcustomer computer and the second customer computer are the samecomputer.
 20. The apparatus of claim 12 wherein the second processor ofthe second management computer performing the step of sending data tothe product comprises the second processor of the second managementcomputer sending data to the product that enables the product to operateuntil a license associated with the product expires, the memory of thesecond computer further storing instructions that when executed by thesecond processor cause the second processor to perform the steps of:informing the customer of a pending expiration of the license; receivingfrom the customer a request to renew the license; and sending data tothe product that enables the product to operate until the renewedlicense for the product expires.